home *** CD-ROM | disk | FTP | other *** search
- Status of Hurd support in libc. Last updated 24 Aug 1994.
- Roland McGrath <roland@gnu.ai.mit.edu>
-
- Everything not noted below is implemented, most of it tested. There are
- various very small things unfinished or thought to be perhaps wrong
- throughout the code, marked by comments containing `XXX'.
-
-
- * As of this writing, signal delivery works but the code is very much in flux.
-
- * We are not sure about possible races between setpgrp (A, pgrp) from
- process B vs process A receiving proc_newids.
-
- * The rest of libc (stdio et al) is not safe for multithreaded programs.
- mutex locks should be added to various things.
-
- * Recovery from faults in the signal thread is not implemented yet.
-
- * longjmp needs to clean up reply port, intr_port; needs thought about.
-
- * Cooperation with cthreads is not finished. If you link with cthreads,
- libc internal code still does not use real condition variables.
- sigsuspend currently does a busy wait where it should use a condition.
- Signal state is per kernel thread; for unwired cthreads it should be per
- cthread instead.
-
- * sigaltstack/sigstack do not really work: the signal stack needs thread
- variables and cthread data set up, which is not done.
-
- * malloc is a kludge.
-
- * Nothing uses mapped io. Eventually stdio and read/write/seek should. I
- have written a little code for this, but it is far from finished.
-
- * Resource limits do not really work; current implementation is patchy and
- inconsistent.
-
- * libc implicitly uses some environment variables. This is a security
- problem for setuid exec. Probably crt0 should remove the variables from
- the environment if setuid.
-
- * The miscellaneous msg.defs calls are only partially implemented.
-
- * The default SIGINFO handler needs to be written.
-
- * File locking is not implemented; the RPC interface is not there yet.
-
- * The current getitimer/setitimer implementation is a kludge.
-
- * mmap cannot do MAP_NOEXTEND.
-
- * Unimplemented calls (from the 4.4 system call list):
- acct
- fstatfs
- getfh
- getfsstat
- getrusage
- madvise
- mincore
- mount
- msync
- profil
- recvmsg
- revoke
- sendmsg
- setpriority
- sstk
- statfs
- swapon
- unmount
-